package day21;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Demo3 {
    static Map<String,Map<String,Integer>> map=new HashMap();
    static Scanner sc=new Scanner(System.in);
    public static void main(String[] args) {
        while(true) {
            System.out.println("1.添加学生成绩");
            System.out.println("2.查询学生成绩");
            System.out.println("3.更新学生成绩");
            System.out.println("4.删除学生成绩");
            System.out.println("5.退出");
            int n=sc.nextInt();
            switch (n){
                case 1:insert();break;
                case 2:select();break;
                case 3:update();break;
                case 4:delete();break;
                case 5:return;
            }
        }
    }
    public static void insert(){
        System.out.println("请输入学号:");
        String key=sc.next();
        System.out.println("请输入科目:");
        String course=sc.next();
        System.out.println("请输入成绩:");
        Integer score=sc.nextInt();
        Map<String,Integer> scores;
        if(map.containsKey(key)){//非第一次 获取出来map集合
            scores=map.get(key);
            scores.put(course,score);
            //map.put(key,scores);  value是一个集合 引用类型
        }else{//第一次存储这个学生
            scores=new HashMap<>();
            scores.put(course,score);
            map.put(key,scores);
        }
        System.out.println(key+"添加了"+course+"科目成绩成功");
    }
    public static void select(){
        System.out.println("请输入学号");
        String key=sc.next();
        Map<String,Integer> scores=map.get(key);
        System.out.println(key+"成绩如下:");
        System.out.println("科目\t成绩");
        for(String s:scores.keySet()){
            Integer score=scores.get(s);
            System.out.println(s+"\t"+score);
        }
    }
    public static void update(){
        System.out.println("请输入学号");
        String key=sc.next();
        System.out.println("请输入科目");
        String course=sc.next();
        System.out.println("请输入更新后的成绩");
        Integer score=sc.nextInt();
        Map<String,Integer> scores=map.get(key);
        if(map.containsKey(key)){
            if(scores.containsKey(course)) {
                scores.put(course,score);
                System.out.println(key+"修改"+course+"科目成绩成功");
            }else System.out.println("这个学生没有考这门科目");
        }else{
            System.out.println("没有这个学生");
        }
    }
    public static void delete(){
        System.out.println("请输入学号");
        String key=sc.next();
        System.out.println("请输入科目");
        String course=sc.next();
        Map<String,Integer> scores=map.get(key);
        Integer value=scores.remove(course);
        if(value==null){
            System.out.println("这个学生没有考这个科目");
        }else{
            System.out.println(key+"学生删除"+course+"科目成功");
        }
    }
}


